我已经生成了自定义操作 by this link on wiki .我创建了继承自 RailsAdmin::Config::Actions::Base
的类。
我已经在 rails_admin_my_action/app/views/rails_admin/main/my_action.html.erb
中为这个 Action 创建了 View
当我们为您的 Controller 创建表单时,我们主要使用 form_for
它将转到我的 Controller 并执行特定操作,但我认为在 rails_admin
中还有其他东西,因为rails_admin 使用他自己的 Controller ,这些 Controller 是从 RailsAdmin::Config::Actions::Base
生成的。
如何为我的自定义 rails_admin 操作创建表单?
我问这个是因为没有关于此的适当文档。
我对我的行为的看法是这样的:
<h3>Manage state of <%= @object.name %></h3>
<div class="btn-group" data-toggle="buttons">
<% @object.state_events.each do |event| %>
<label class="btn bnt-lg btn-default">
<%= form.radio_button :state, event, autocomplete: 'off' %> <%= event %>
</label>
<% end %>
</div>
<br/>
<hr/>
<%= form.submit 'Change', class: 'btn btn-lg btn-primary' %>
在 lib/my_action.rb
中,我只是复制了 register_instance_option :controller
的 edit
操作。
当我提交表单时。我收到 ActiveModel::ForbiddenAttributesError
错误。
最佳答案
这取决于你的行动,所以take a look模板是如何实现的。基本上 form_tag my_action_path
或 form_for @object, url: my_action_path(@abstract_model, @object.id)
应该可以工作。仅供引用,您可以 define custom action就在 rails_admin 配置中:
RailsAdmin.config do |config|
config.actions do
member :my_action do
only ['MyModel']
http_methods { [:post, :get] }
controller do
proc do
if request.get?
elsif request.post?
end
end
end
end
end
end
关于ruby-on-rails - Rails_admin,如何为自定义操作创建表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32243844/