小编Vin*_*e W的帖子

使用 Hotwire 广播到多个 Turbo 流

我已经正确连接了 hotwire/turbo,以便对页面上某个位置的单个模型进行增删改查操作,但我也想同时在页面上的不同位置更新同一模型。我以为我可以设置两个流,但它似乎不起作用。

指定目标确实适用于创建操作,具体取决于我如何命名目标,但不适用于更新和销毁。这是我认为应该有效但无效的:

----位置 1(“生物”流)----

<div id="creatures">
  <%= turbo_stream_from "creatures" %>
  <%= turbo_frame_tag "creatures" do %>
    <div>
      <% @creatures.each do |creature| %>
        <div>
          <%= render "creatures/creature", creature: creature %>
        </div>
      <% end %>
    </div>
  <% end %>
</div>
Run Code Online (Sandbox Code Playgroud)

----位置 2(“creatures_main”流)----

<%= turbo_stream_from "creatures_main" %>
<%= turbo_frame_tag "creatures_main" do %>
  <% @creatures.each do |creature| %>
    <div>
      <%= render "creatures/creature", creature: creature %>
    </div>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

---- 常见_creature.html.erb 部分 ----

<%= turbo_frame_tag dom_id(creature) do %>
  <%= link_to creature.name, …
Run Code Online (Sandbox Code Playgroud)

turbolinks ruby-on-rails-6.1 hotwire-rails

5
推荐指数
1
解决办法
3570
查看次数

quote_char导致适合ruby CSV导入

我有一个使用|的简单CSV文件 (管道)作为引用字符.将我的rails应用程序从Ruby 1.9.2升级到1.9.3后,我收到"CSV :: MalformedCSVError:第1行中缺少或流浪的引用"错误.

如果我弹出打开vim并替换| 使用常规引号,单引号甚至"=",文件工作正常,但是| 和*导致错误.有人对可能导致这种情况的原因有任何疑问吗?这是一个可以重现错误的简单单线程:

@csv = CSV.read("public/sample_file.csv", {quote_char: '|', headers: false})
Run Code Online (Sandbox Code Playgroud)

同样在Ruby 2.0和irb w/out load rails中重现了这一点.

编辑:以下是CSV中的一些示例行

|076N102                 |,|CARD                                    |,|         1|,|NEW|,|PCS       |
|07-1801                 |,|BASE                                    |,|        18|,|NEW|,|PCS       |
Run Code Online (Sandbox Code Playgroud)

ruby csv ruby-1.9.2 ruby-1.9.3 ruby-2.0

4
推荐指数
1
解决办法
2417
查看次数

在CanCan中跳过一个rails操作

我有一个带有一些常规方法的用户控制器.我的ability.rb已设置但我需要未登录的用户才能处理这一操作.我已经在我的ability.rb中为未登录的用户尝试了以下所有内容,但它没有任何区别......我仍然收到未经授权的错误.

can :create, User
can :update, User
can :edit, User
can :modify, User
Run Code Online (Sandbox Code Playgroud)

接下来我尝试在我的ability.rb中创建一个条目

can :do_this_action, User
Run Code Online (Sandbox Code Playgroud)

并将其放在用户控制器中

authorize!(:can_do_this_action, User.new || @user)
Run Code Online (Sandbox Code Playgroud)

仍然没有运气..

最后,我试图跳过这个动作.我在用户控制器中用它做了这个:

skip_authorization_check :only => [:create, :new, :custom_method ]
authorize_resource
Run Code Online (Sandbox Code Playgroud)

这仍然给我的自定义方法一个未经授权的错误 任何人都知道我哪里出错了?提前致谢.

authorization ruby-on-rails cancan ruby-on-rails-3

0
推荐指数
1
解决办法
331
查看次数