Rai*_*ner 28 ruby ruby-on-rails ruby-on-rails-3
这是我的形式部分:
<%= f.simple_fields_for :photo_attributes, :html => { :multipart => true } do |d| %>
<%= d.label :image, :label => 'Upload logo', :required => false %>
<%= d.file_field :image, :label => 'Image, :required => false', :style => 'margin-bottom:2px' %>
<%= d.input :image_url, :label => 'Billed URL', :required => false %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
如果操作是编辑,我想改为显示:
<%= f.simple_fields_for :photo, :html => { :multipart => true } do |d| %>
<%= d.label :image, :label => 'Upload logo', :required => false %>
<%= d.file_field :image, :label => 'Image, :required => false', :style => 'margin-bottom:2px' %>
<%= d.input :image_url, :label => 'Billed URL', :required => false %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这一目标?
fny*_*fny 102
current_page?(action: 'edit')
请参阅ActionView :: Helpers :: UrlHelper#current_page?
轨道也使得方法controller_path,controller_name,action_name可以在视图中使用.
你可以写点像
<%- form_url = @object.new_record? ? :photo_attributes : :photo %>
<% f.simple_fields_for form_url, :html => { :multipart => true } do |d| %>
Run Code Online (Sandbox Code Playgroud)
也就是说,如果你@object要检查.否则你可以使用action_name(甚至controller_name).
所以类似于:
<%- form_url = action_name == :edit ? :photo : :photo_attributes %>
<% f.simple_fields_for form_url, :html => { :multipart => true } do |d| %>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
Rails 5:在视图中显示动作
<%= action_name %>
Run Code Online (Sandbox Code Playgroud)
如果在视图中声明
<% if action_name == "edit" %>
This is an edit action.
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29051 次 |
| 最近记录: |